<ui:composition xmlns="http://www.w3.org/1999/xhtml"
                xmlns:ui="http://java.sun.com/jsf/facelets"
                xmlns:h="http://java.sun.com/jsf/html"
                xmlns:f="http://java.sun.com/jsf/core"
                xmlns:p="http://primefaces.org/ui"
                template="../templates/principal.xhtml">

    <ui:define name="head">
        <script type="text/javascript">
            function handleClienteRequest(xhr, status, args) {
                if (args.validationFailed || !args.loggedIn) {
                    PF('clienteDialog').show();
                } else {
                    PF('clienteDialog').hide();
                }
                PF('clienteDialog').toggleMaximize();
            }
        </script>
    </ui:define>

    <ui:define name="content" id="content">
        <h:form id="frmCliente">
            <p:panel id="panel" header="Bem Vindo ao Cadastro de Cliente">
                <p:growl id="messages" life="5000" showDetail="true"/>

                <!-- GRID CLIENTE -->
                <p:dataTable id="tabCliente" widgetVar="wtabCliente" var="cliente" value="#{clienteBean.lazyModel}" 
                             lazy="true" paginator="true" rows="12" paginatorPosition="top"
                             emptyMessage="Nenhum Registro Retornado ..." filterEvent="enter" resizableColumns="true">

                    <p:column headerText="Razão Social / Nome" sortBy="#{cliente.nomCliente}" filterBy="#{cliente.nomCliente}" style="text-align: center;">
                        <div style="text-align: left; ">
                            <h:outputText value="#{cliente.nomCliente}" />
                        </div>
                    </p:column>

                    <p:column headerText="Nome Fantasia / Nome Proprietário" sortBy="#{cliente.nomFantasia}" filterBy="#{cliente.nomFantasia}" style="text-align: center;">
                        <div style="text-align: left; ">
                            <h:outputText value="#{cliente.nomFantasia}" />
                        </div>
                    </p:column>

                    <p:column headerText="C.N.P.J. / C.P.F." sortBy="#{cliente.numCpf}" filterBy="#{cliente.numCpf}" style="text-align: center;">
                        <div style="text-align: left;">
                            <h:outputText value="#{cliente.numCpf}" />
                        </div>
                    </p:column>

                    <p:column headerText="Pessoa" sortBy="#{cliente.tipCliente}" filterBy="#{cliente.tipCliente}"  
                              filterOptions="#{clienteBean.tipClienteOptions}" filterMatchMode="exact">
                        <div style="text-align: left; ">
                            <h:outputText value="#{cliente.dscTipo}" />
                        </div>
                    </p:column>

                    <p:column headerText="Categoria" sortBy="#{cliente.idCategoria.dscCategoria}" filterBy="#{cliente.idCategoria.dscCategoria}">
                        <div style="text-align: left; ">
                            <h:outputText value="#{cliente.idCategoria.dscCategoria}" />
                        </div>
                    </p:column>

                    <p:column headerText="Tipo" sortBy="#{cliente.staCliente}" filterBy="#{cliente.staCliente}"  
                              filterOptions="#{clienteBean.staClienteOptions}" filterMatchMode="exact">
                        <div style="text-align: left; ">
                            <h:outputText value="#{cliente.dscStaCliente}" />
                        </div>
                    </p:column>

                    <p:column style="width: 100px;">
                        <p:panelGrid columns="4" styleClass="actions">
                            <p:commandButton id="selectButtonCliente" update=":frmCliente:panel :frmCliente:panelDetalheCliente :frmCliente:messages" 
                                             icon="ui-icon-search" title="Visualizar // Alterar" oncomplete="PF('clienteDialog').show(); PF('clienteDialog').toggleMaximize();" process="@all">
                                <f:setPropertyActionListener value="#{cliente}" target="#{clienteBean.selectedCliente}" />
                                <f:setPropertyActionListener value="#{false}" target="#{clienteBean.incluircliente}" />
                                <f:setPropertyActionListener value="#{true}" target="#{clienteBean.incluirendereco}" />
                                <f:setPropertyActionListener value="#{true}" target="#{clienteBean.incluirtelefone}" />
                                <f:setPropertyActionListener value="#{true}" target="#{clienteBean.incluircontato}" />
                                <f:setPropertyActionListener value="#{true}" target="#{clienteBean.incluirClienteEmpreendimento}" />
                                <f:setPropertyActionListener value="#{true}" target="#{clienteBean.incluirEnderecoEmpreendimento}" />
                                <f:setPropertyActionListener value="#{true}" target="#{clienteBean.ativacontato}" />
                                <f:setPropertyActionListener value="#{true}" target="#{clienteBean.ativatelefone}" />
                                <f:setPropertyActionListener value="#{-1}" target="#{clienteBean.ativaAccordion}" />
                                <f:setPropertyActionListener value="#{0}" target="#{clienteBean.ativaTab}" />
                            </p:commandButton>

                            <p:commandButton id="excluirButtonCliente" update=":frmCliente:confirmaExclusao :frmCliente:messages" 
                                             icon="ui-icon-trash" title="Excluir Cliente" oncomplete="PF('confirmation').show()" rendered="#{sessionScope.usuarioAutenticado.tipUsuario eq 'Administrador'}">
                                <f:setPropertyActionListener value="#{cliente}" target="#{clienteBean.selectedCliente}" />
                            </p:commandButton>
                        </p:panelGrid>
                    </p:column>

                    <f:facet name="footer">
                        <div style="text-align: left;">
                            <p:commandButton id="incluirButtonCliente" value="Novo Cliente" actionListener="#{clienteBean.preparaInserir}" 
                                             update=":frmCliente:panel :frmCliente:messages" process="@all" rendered="#{sessionScope.usuarioAutenticado.tipUsuario eq 'Administrador'}"
                                             icon="ui-icon-pencil" title="Cadastrar Novo Cliente" oncomplete="PF('clienteDialog').show(); PF('clienteDialog').toggleMaximize();" />
                        </div>
                    </f:facet>
                </p:dataTable>

                <!-- DETALHES CLIENTE -->
                <p:dialog id="dialogCliente"  widgetVar="clienteDialog" resizable="true" position="top" onHide="PF('clienteDialog').toggleMaximize();" 
                          showEffect="explode" hideEffect="explode" dynamic="true" maximizable="true">

                    <p:panel id="panelDetalheCliente" style="text-align: left; font-weight:bold; width: 100%;" header="DETALHES DO CLIENTE - #{clienteBean.processo}">
                        <p:tabView id="accordion"  widgetVar="accordion" activeIndex="#{clienteBean.ativaTab}" style="width: 100%;" effect="scale">
                            <p:tab id="tabPrincipal" title="Dados Principais do Cliente: #{clienteBean.selectedCliente.nomCliente}" titleStyle="text-align: center; font-weight: bold;">
                                <p:panelGrid id="display" style="width: 100%;">
                                    <p:row>
                                        <p:column>
                                            <h:outputText value="* Pessoa:" />
                                        </p:column>
                                        <p:column>
                                            <p:selectOneRadio id="tipCliente" value="#{clienteBean.selectedCliente.tipCliente}">
                                                <f:selectItem itemLabel=" - Jurídica" itemValue="J" />
                                                <f:selectItem itemLabel=" - Física" itemValue="F" />
                                                <f:ajax event="change" render="display" />
                                            </p:selectOneRadio>
                                        </p:column>
                                    </p:row>

                                    <p:row>
                                        <p:column>
                                            <h:outputText value="* Razão Social / Nome:" />
                                        </p:column>
                                        <p:column>
                                            <p:inputText id="inNome" value="#{clienteBean.selectedCliente.nomCliente}" maxlength="100" style="width:600px; font-weight:bold; " />
                                        </p:column>
                                    </p:row>

                                    <p:row>
                                        <p:column>
                                            <h:outputText value="Nome Fantasia / Nome Proprietário:" />
                                        </p:column>
                                        <p:column>
                                            <p:inputText id="inFantasia" value="#{clienteBean.selectedCliente.nomFantasia}" maxlength="100" style="width:600px; font-weight:bold; " />
                                        </p:column>
                                    </p:row>

                                    <p:row>
                                        <p:column>
                                            <h:outputText value="* C.N.P.J. / C.P.F.:" />
                                        </p:column>
                                        <p:column>
                                            <p:inputMask id="inCpf"   
                                                         mask="#{clienteBean.selectedCliente.tipCliente == 'F' ? '999.999.999-99' : '99.999.999/9999-99'}"  
                                                         value="#{clienteBean.selectedCliente.numCpf}"  
                                                         style="width:200px; font-weight:bold; " />
                                        </p:column>
                                    </p:row>

                                    <p:row>
                                        <p:column>
                                            <h:outputText value="* Data Abertura / Nascimento:" />
                                        </p:column>
                                        <p:column>
                                            <p:inputMask id="imDatAbert" value="#{clienteBean.selectedCliente.datNascAbert}" mask="99/99/9999" style="font-weight:bold; ">
                                                <f:convertDateTime type="date" dateStyle="short" pattern="dd/MM/yyyy" />
                                            </p:inputMask>
                                        </p:column>
                                    </p:row>

                                    <p:row>
                                        <p:column>
                                            <h:outputText value="E-Mail:" />
                                        </p:column>
                                        <p:column>
                                            <p:inputText id="inEmail" value="#{clienteBean.selectedCliente.dscEmail}" maxlength="200" style="width:500px; font-weight:bold;" />
                                        </p:column>
                                    </p:row>

                                    <p:row>
                                        <p:column>
                                            <h:outputText value="Site:" />
                                        </p:column>
                                        <p:column>
                                            <p:inputText id="inSite" value="#{clienteBean.selectedCliente.dscSite}" maxlength="200" style="width:600px; font-weight:bold;" />
                                        </p:column>
                                    </p:row>

                                    <p:row>
                                        <p:column>
                                            <h:outputText value="* Categoria:" />
                                        </p:column>
                                        <p:column>
                                            <p:inputText id="inCategoria" value="#{clienteBean.selectedCliente.idCategoria.dscCategoria}" 
                                                         readonly="true" style="width:400px; font-weight:bold; " />

                                            <p:commandButton icon="ui-icon ui-icon-search" title="Pesquisar Categoria" update=":frmCliente:panelCategoria" onclick="PF('categoriaDialog').show();" /> 
                                        </p:column>
                                    </p:row>

                                    <p:row>
                                        <p:column>
                                            <h:outputText value="* Tipo:" />
                                        </p:column>
                                        <p:column>
                                            <p:selectOneRadio id="staCliente" value="#{clienteBean.selectedCliente.staCliente}">
                                                <f:selectItem itemLabel=" - Ativo" itemValue="A" />
                                                <f:selectItem itemLabel=" - Prospects" itemValue="P" />
                                                <f:selectItem itemLabel=" - Inativo" itemValue="I" />
                                            </p:selectOneRadio>
                                        </p:column>
                                    </p:row>
                                </p:panelGrid>    
                            </p:tab>
                            <p:tab id="tabEndereco" title="Endereços">
                                <p:panel id="panelDetalheClienteEndereco" style="text-align: left; ">
                                    <p:dataTable id="tabClienteEndereco" widgetVar="wtabClienteEndereco" var="clienteEndereco" value="#{clienteBean.selectedCliente.clienteEnderecoList}" 
                                                 rowIndexVar="rowId" paginator="true" rows="3" paginatorPosition="top" emptyMessage="Nenhum Registro Retornado ..." filterEvent="enter">

                                        <p:column headerText="Descrição" sortBy="#{clienteEndereco.dscEndereco}" filterBy="#{clienteEndereco.dscEndereco}">
                                            <h:outputText value="#{clienteEndereco.dscEndereco}" />
                                        </p:column>

                                        <p:column headerText="Endereço">
                                            <h:outputText value="#{clienteEndereco.codLogradouro.dscLogradouro}" />
                                        </p:column>

                                        <p:column headerText="Tipo" sortBy="#{clienteEndereco.tipEndereco}" filterBy="#{clienteEndereco.tipEndereco}"  
                                                  filterOptions="#{clienteBean.tipEnderecoOptions}" filterMatchMode="exact">
                                            <h:outputText value="#{clienteEndereco.dscTipo}" />
                                        </p:column>

                                        <p:column style="width: 100px;">
                                            <p:panelGrid columns="4" styleClass="actions">
                                                <p:commandButton id="selectButtonClienteEndereco" update=":frmCliente:accordion :frmCliente:messages" 
                                                                 icon="ui-icon-search" title="Visualizar // Alterar Endereço">
                                                    <f:setPropertyActionListener value="#{clienteEndereco}" target="#{clienteBean.selectedClienteEndereco}" />
                                                    <f:setPropertyActionListener value="#{false}" target="#{clienteBean.incluirendereco}" />
                                                    <f:setPropertyActionListener value="#{rowId}" target="#{clienteBean.rowid}" />
                                                    <f:setPropertyActionListener value="#{0}" target="#{clienteBean.nendereco}" />
                                                </p:commandButton>

                                                <p:commandButton id="excluirButtonClienteEndereco" update=":frmCliente:accordion :frmCliente:messages" 
                                                                 icon="ui-icon-trash" title="Excluir Endereço" oncomplete="PF('confirmationEndereco').show()" rendered="#{sessionScope.usuarioAutenticado.tipUsuario eq 'Administrador'}">
                                                    <f:setPropertyActionListener value="#{clienteEndereco}" target="#{clienteBean.selectedClienteEndereco}" />
                                                </p:commandButton>
                                            </p:panelGrid>
                                        </p:column>

                                        <f:facet name="footer">
                                            <div style="text-align: left;">
                                                <p:commandButton value="Novo Endereço" id="incluirButtonClienteEndereco" actionListener="#{clienteBean.preparaInserirEndereco}" 
                                                                 update=":frmCliente:accordion :frmCliente:messages" rendered="#{sessionScope.usuarioAutenticado.tipUsuario eq 'Administrador'}" 
                                                                 icon="ui-icon-pencil" title="Cadastrar Novo Endereço" />
                                            </div>
                                        </f:facet>
                                    </p:dataTable>
                                    <br />
                                    <p:panelGrid id="displayEndereco">
                                        <p:row>
                                            <p:column>
                                                <h:outputText value="Processo:" />
                                            </p:column>
                                            <p:column colspan="3">
                                                <h:outputText value="#{clienteBean.processoEndereco}" style="width:500px; font-weight:bold; " />
                                            </p:column>
                                        </p:row>

                                        <p:row>
                                            <p:column>
                                                <h:outputText value="* Tipo:" />
                                            </p:column>
                                            <p:column colspan="3">
                                                <p:selectOneRadio value="#{clienteBean.selectedClienteEndereco.tipEndereco}">
                                                    <f:selectItem itemLabel=" - Comercial" itemValue="1" />
                                                    <f:selectItem itemLabel=" - Residencial" itemValue="2" />
                                                    <f:selectItem itemLabel=" - Filial" itemValue="3" />
                                                    <f:selectItem itemLabel=" - Cobrança" itemValue="4" />
                                                    <f:selectItem itemLabel=" - Outro" itemValue="5" />
                                                </p:selectOneRadio>
                                            </p:column>
                                        </p:row>

                                        <p:row>
                                            <p:column>
                                                <h:outputText value="* Descrição:" />
                                            </p:column>
                                            <p:column colspan="3">
                                                <p:inputText id="inDscEndereco" value="#{clienteBean.selectedClienteEndereco.dscEndereco}" style="width:500px; font-weight:bold; " />
                                            </p:column>
                                        </p:row>

                                        <p:row>
                                            <p:column>
                                                <h:outputText value="* C.E.P.:" />
                                            </p:column>
                                            <p:column colspan="3">
                                                <p:inputMask id="inCep" value="#{clienteBean.selectedClienteEndereco.codLogradouro.numCep}"  
                                                             mask="99999-999"
                                                             readonly="true" style="width:200px; font-weight:bold;" />
                                                <p:commandButton icon="ui-icon ui-icon-search" title="Pesquisar Endereço" onclick="PF('pesquisaDialog').show();" rendered="#{sessionScope.usuarioAutenticado.tipUsuario eq 'Administrador'}" /> 
                                            </p:column>
                                        </p:row>

                                        <p:row>
                                            <p:column>
                                                <h:outputText value="Logradouro:" />
                                            </p:column>
                                            <p:column colspan="3">
                                                <p:inputText id="inLogradouro" value="#{clienteBean.selectedClienteEndereco.codLogradouro.dscLogradouro}" 
                                                             readonly="true" style="width:500px; font-weight:bold; " />
                                            </p:column>
                                        </p:row>

                                        <p:row>
                                            <p:column>
                                                <h:outputText value="* Numero:" />
                                            </p:column>
                                            <p:column>
                                                <p:inputText id="inNumero" value="#{clienteBean.selectedClienteEndereco.numEndereco}" style="width:100px; font-weight:bold; " />
                                            </p:column>

                                            <p:column>
                                                <h:outputText value="Complemento:" />
                                            </p:column>
                                            <p:column>
                                                <p:inputText id="inComplemento" value="#{clienteBean.selectedClienteEndereco.dscComplemento}" 
                                                             style="width:400px; font-weight:bold; " />
                                            </p:column>
                                        </p:row>

                                        <p:row>
                                            <p:column>
                                                <h:outputText value="Bairro:" />
                                            </p:column>
                                            <p:column colspan="3">
                                                <p:inputText id="inBairro" value="#{clienteBean.selectedClienteEndereco.codLogradouro.codBairro.dscBairro}" 
                                                             readonly="true" style="width:400px; font-weight:bold; " />
                                            </p:column>
                                        </p:row>

                                        <p:row>
                                            <p:column>
                                                <h:outputText value="Cidade:" />
                                            </p:column>
                                            <p:column>
                                                <p:inputText id="inCidade" value="#{clienteBean.selectedClienteEndereco.codLogradouro.codBairro.codCidade.dscCidade}" 
                                                             readonly="true" style="width:300px; font-weight:bold; " />
                                            </p:column>
                                            <p:column>
                                                <h:outputText value="U.F." />
                                            </p:column>
                                            <p:column>
                                                <p:inputText id="inUf" value="#{clienteBean.selectedClienteEndereco.codLogradouro.codBairro.codCidade.codUf.codUf}" 
                                                             readonly="true" style="width:50px; font-weight:bold; " />
                                            </p:column>
                                        </p:row>
                                    </p:panelGrid>

                                    <p:commandButton value="Inserir Endereço" update=":frmCliente:accordion :frmCliente:messages" 
                                                     actionListener="#{clienteBean.inserirEndereco}" rendered="#{(clienteBean.incluirendereco) and (sessionScope.usuarioAutenticado.tipUsuario eq 'Administrador')}" />
                                    <p:commandButton value="Alterar Endereço" update=":frmCliente:accordion :frmCliente:messages"
                                                     actionListener="#{clienteBean.alterarEndereco}" rendered="#{(!clienteBean.incluirendereco) and (sessionScope.usuarioAutenticado.tipUsuario eq 'Administrador')}" />

                                </p:panel>
                            </p:tab>
                            <p:tab id="tabTelefone" title="Telefones">
                                <p:panel id="panelDetalheClienteEnderecoTelefone" style="text-align: left; ">

                                    <p:dataTable id="tabClienteEnderecoTelefone" widgetVar="wtabClienteEnderecoTelefone" var="clienteEnderecoTelefone" 
                                                 value="#{clienteBean.selectedCliente.clienteEnderecoTelefoneList}" paginator="true" rows="1" paginatorPosition="top"
                                                 rowIndexVar="rowIdTelefone"  emptyMessage="Nenhum Registro Retornado ..." filterEvent="enter">

                                        <p:column headerText="Descrição" sortBy="#{clienteEnderecoTelefone.dscTelefone}" filterBy="#{clienteEnderecoTelefone.dscTelefone}">
                                            <h:outputText value="#{clienteEnderecoTelefone.dscTelefone}" />
                                        </p:column>

                                        <p:column headerText="Numero">
                                            <h:outputText value="#{clienteEnderecoTelefone.numTelefone}" />
                                        </p:column>

                                        <p:column headerText="Ramal">
                                            <h:outputText value="#{clienteEnderecoTelefone.numRamal}" />
                                        </p:column>

                                        <p:column headerText="Tipo" sortBy="#{clienteEnderecoTelefone.tipTelefone}" filterBy="#{clienteEnderecoTelefone.tipTelefone}"  
                                                  filterOptions="#{clienteBean.tipEnderecoTelefoneOptions}" filterMatchMode="exact">
                                            <h:outputText value="#{clienteEnderecoTelefone.dscTipo}" />
                                        </p:column>

                                        <p:column style="width: 100px;">
                                            <p:panelGrid columns="4" styleClass="actions">
                                                <p:commandButton id="selectButtonClienteEnderecoTelefone" update=":frmCliente:accordion :frmCliente:messages" 
                                                                 icon="ui-icon-search" title="Visualizar // Alterar Telefone">
                                                    <f:setPropertyActionListener value="#{clienteEnderecoTelefone}" target="#{clienteBean.selectedClienteEnderecoTelefone}" />
                                                    <f:setPropertyActionListener value="#{rowIdTelefone}" target="#{clienteBean.rowidtelefone}" />
                                                    <f:setPropertyActionListener value="#{false}" target="#{clienteBean.incluirtelefone}" />
                                                    <f:setPropertyActionListener value="#{true}" target="#{clienteBean.incluircontato}" />
                                                    <f:setPropertyActionListener value="#{false}" target="#{clienteBean.ativacontato}" />
                                                    <f:setPropertyActionListener value="#{false}" target="#{clienteBean.ativatelefone}" />
                                                    <f:setPropertyActionListener value="#{0}" target="#{clienteBean.ativaAccordion}" />
                                                </p:commandButton>

                                                <p:commandButton id="excluirButtonClienteEnderecoTelefone" update=":frmCliente:accordion :frmCliente:messages" rendered="#{sessionScope.usuarioAutenticado.tipUsuario eq 'Administrador'}" 
                                                                 icon="ui-icon-trash" title="Excluir Telefone" oncomplete="PF('confirmationEnderecoTelefone').show()">
                                                    <f:setPropertyActionListener value="#{clienteEnderecoTelefone}" target="#{clienteBean.selectedClienteEnderecoTelefone}" />
                                                </p:commandButton>
                                            </p:panelGrid>
                                        </p:column>

                                        <f:facet name="footer">
                                            <div style="text-align: left;">
                                                <p:commandButton id="incluirButtonClienteEnderecoTelefone" value="Novo Telefone" actionListener="#{clienteBean.preparaInserirEnderecoTelefone}" 
                                                                 update=":frmCliente:accordion :frmCliente:messages" rendered="#{sessionScope.usuarioAutenticado.tipUsuario eq 'Administrador'}" 
                                                                 icon="ui-icon-pencil" title="Cadastrar Novo Telefone" />
                                            </div>
                                        </f:facet>
                                    </p:dataTable>
                                    <br />
                                    <p:accordionPanel id="accordionContato" activeIndex="#{clienteBean.ativaAccordion}">
                                        <p:tab title="Detalhe Telefone" disabled="#{clienteBean.ativatelefone}">
                                            <p:panelGrid id="displayEnderecoTelefone">
                                                <p:row>
                                                    <p:column>
                                                        <h:outputText value="Processo:" />
                                                    </p:column>
                                                    <p:column colspan="3">
                                                        <h:outputText value="#{clienteBean.processoTelefone}" style="width:500px; font-weight:bold; " />
                                                    </p:column>
                                                </p:row>

                                                <p:row>
                                                    <p:column>
                                                        <h:outputText value="* Tipo:" />
                                                    </p:column>
                                                    <p:column colspan="3">
                                                        <p:selectOneRadio value="#{clienteBean.selectedClienteEnderecoTelefone.tipTelefone}">
                                                            <f:selectItem itemLabel=" - Comercial" itemValue="1" />
                                                            <f:selectItem itemLabel=" - Residencial" itemValue="2" />
                                                            <f:selectItem itemLabel=" - Celular" itemValue="3" />
                                                            <f:selectItem itemLabel=" - Outro" itemValue="4" />
                                                        </p:selectOneRadio>
                                                    </p:column>
                                                </p:row>

                                                <p:row>
                                                    <p:column>
                                                        <h:outputText value="* Descrição:" />
                                                    </p:column>
                                                    <p:column colspan="3">
                                                        <p:inputText id="inDscEnderecoTelefone" value="#{clienteBean.selectedClienteEnderecoTelefone.dscTelefone}" style="width:500px; font-weight:bold; " />
                                                    </p:column>
                                                </p:row>

                                                <p:row>
                                                    <p:column>
                                                        <h:outputText value="* D.D.I.:" />
                                                    </p:column>
                                                    <p:column>
                                                        <p:inputText id="inDdi" value="#{clienteBean.selectedClienteEnderecoTelefone.idDdi.ddi}"  
                                                                     readonly="true" style="width:50px; font-weight:bold; text-align: right; " />
                                                    </p:column>
                                                    <p:column colspan="2">
                                                        <p:inputText id="inDscDdi" value="#{clienteBean.selectedClienteEnderecoTelefone.idDdi.descricao}"  
                                                                     readonly="true" style="width:400px; font-weight:bold; " />
                                                        <p:commandButton icon="ui-icon ui-icon-search" title="Pesquisar D.D.I." onclick="PF('ddiDialog').show();" 
                                                                         update=":frmCliente:panelSelecionaDdi :frmCliente:messages" rendered="#{sessionScope.usuarioAutenticado.tipUsuario eq 'Administrador'}" /> 
                                                    </p:column>
                                                </p:row>

                                                <p:row>
                                                    <p:column>
                                                        <h:outputText value="* D.D.D.:" />
                                                    </p:column>
                                                    <p:column>
                                                        <p:inputText id="inDdd" value="#{clienteBean.selectedClienteEnderecoTelefone.idDdd.codigo}"  
                                                                     readonly="true" style="width:50px; font-weight:bold; text-align: right; " />
                                                    </p:column>
                                                    <p:column colspan="2">
                                                        <p:inputText id="inDscDdd" value="#{clienteBean.selectedClienteEnderecoTelefone.idDdd.localidade}"  
                                                                     readonly="true" style="width:400px; font-weight:bold; " />
                                                        <p:commandButton icon="ui-icon ui-icon-search" title="Pesquisar D.D.D." onclick="PF('dddDialog').show();" 
                                                                         update=":frmCliente:panelSelecionaDdd :frmCliente:messages" rendered="#{sessionScope.usuarioAutenticado.tipUsuario eq 'Administrador'}" /> 
                                                    </p:column>
                                                </p:row>

                                                <p:row>
                                                    <p:column>
                                                        <h:outputText value="* Numero:" />
                                                    </p:column>
                                                    <p:column>
                                                        <p:inputText id="inNumeroTelefone" value="#{clienteBean.selectedClienteEnderecoTelefone.numTelefone}" 
                                                                     style="width:100px; font-weight:bold; " />
                                                    </p:column>
                                                    <p:column>
                                                        <h:outputText value="Ramal:" />
                                                    </p:column>
                                                    <p:column>
                                                        <p:inputText id="inRamal" value="#{clienteBean.selectedClienteEnderecoTelefone.numRamal}" 
                                                                     style="width:100px; font-weight:bold; " />
                                                    </p:column>
                                                </p:row>
                                            </p:panelGrid>
                                            <br />
                                            <p:commandButton value="Inserir Telefone" update=":frmCliente:accordion :frmCliente:messages" 
                                                             actionListener="#{clienteBean.inserirEnderecoTelefone}" rendered="#{(clienteBean.incluirtelefone) and (sessionScope.usuarioAutenticado.tipUsuario eq 'Administrador')}" />

                                            <p:commandButton value="Alterar Telefone" update=":frmCliente:accordion :frmCliente:messages" 
                                                             actionListener="#{clienteBean.alterarEnderecoTelefone}" rendered="#{(!clienteBean.incluirtelefone) and (sessionScope.usuarioAutenticado.tipUsuario eq 'Administrador')}" />
                                        </p:tab>
                                        <p:tab title="Contatos" disabled="#{clienteBean.ativacontato}">
                                            <p:dataTable id="tabClienteTelefoneContato" widgetVar="wtabClienteTelefoneContato" var="clienteTelefoneContato" 
                                                         value="#{clienteBean.selectedClienteEnderecoTelefone.clienteTelefoneContatoList}" paginator="true" rows="1" paginatorPosition="top"
                                                         rowIndexVar="rowIdTelefoneContato"  emptyMessage="Nenhum Registro Retornado ..." filterEvent="enter">

                                                <p:column headerText="Nome" sortBy="#{clienteTelefoneContato.nomContato}" filterBy="#{clienteTelefoneContato.nomContato}">
                                                    <h:outputText value="#{clienteTelefoneContato.nomContato}" />
                                                </p:column>

                                                <p:column headerText="E-Mail" sortBy="#{clienteTelefoneContato.emailContato}" filterBy="#{clienteTelefoneContato.emailContato}">
                                                    <h:outputText value="#{clienteTelefoneContato.emailContato}" />
                                                </p:column>

                                                <p:column headerText="Telefone" sortBy="#{clienteTelefoneContato.numTelefone}" filterBy="#{clienteTelefoneContato.numTelefone}">
                                                    <h:outputText value="#{clienteTelefoneContato.numTelefone}" />
                                                </p:column>

                                                <p:column headerText="Ramal" sortBy="#{clienteTelefoneContato.numRamal}" filterBy="#{clienteTelefoneContato.numRamal}">
                                                    <h:outputText value="#{clienteTelefoneContato.numRamal}" />
                                                </p:column>

                                                <p:column headerText="Departamento" sortBy="#{clienteTelefoneContato.idDepartamento.dscDepartamento}" filterBy="#{clienteTelefoneContato.idDepartamento.dscDepartamento}">
                                                    <h:outputText value="#{clienteTelefoneContato.idDepartamento.dscDepartamento}" />
                                                </p:column>

                                                <p:column style="width: 100px;">
                                                    <p:panelGrid columns="4" styleClass="actions">
                                                        <p:commandButton id="selectButtonClienteTelefoneContato" update=":frmCliente:accordion :frmCliente:messages" 
                                                                         icon="ui-icon-search" title="Visualizar // Alterar Contato">
                                                            <f:setPropertyActionListener value="#{clienteTelefoneContato}" target="#{clienteBean.selectedClienteTelefoneContato}" />
                                                            <f:setPropertyActionListener value="#{false}" target="#{clienteBean.incluircontato}" />
                                                            <f:setPropertyActionListener value="#{rowIdTelefoneContato}" target="#{clienteBean.rowidtelefonecontato}" />
                                                        </p:commandButton>

                                                        <p:commandButton id="excluirButtonClienteTelefoneContato" update=":frmCliente:accordion :frmCliente:messages" rendered="#{sessionScope.usuarioAutenticado.tipUsuario eq 'Administrador'}" 
                                                                         icon="ui-icon-trash" title="Excluir Contato" oncomplete="PF('confirmationTelefoneContato').show()">
                                                            <f:setPropertyActionListener value="#{clienteTelefoneContato}" target="#{clienteBean.selectedClienteTelefoneContato}" />
                                                        </p:commandButton>
                                                    </p:panelGrid>
                                                </p:column>

                                                <f:facet name="footer">
                                                    <div style="text-align: left;">
                                                        <p:commandButton value="Novo Contato" id="incluirButtonClienteTelefoneContato" actionListener="#{clienteBean.preparaInserirTelefoneContato}" 
                                                                         update=":frmCliente:accordion :frmCliente:messages" rendered="#{sessionScope.usuarioAutenticado.tipUsuario eq 'Administrador'}" 
                                                                         icon="ui-icon-pencil" title="Cadastrar Novo Contato" />
                                                    </div>
                                                </f:facet>
                                            </p:dataTable>
                                            <br />
                                            <p:panel id="panelTelefoneContato" header="Detalhes Contato" style="text-align: center; ">
                                                <p:panelGrid id="displayTelefoneContato" style="text-align: left; ">
                                                    <p:row>
                                                        <p:column>
                                                            <h:outputText value="Processo:" />
                                                        </p:column>
                                                        <p:column colspan="3">
                                                            <h:outputText value="#{clienteBean.processoContato}" style="width:500px; font-weight:bold; " />
                                                        </p:column>
                                                    </p:row>

                                                    <p:row>
                                                        <p:column>
                                                            <h:outputText value="* Nome:" />
                                                        </p:column>
                                                        <p:column colspan="3">
                                                            <p:inputText id="inNomeContato" value="#{clienteBean.selectedClienteTelefoneContato.nomContato}" 
                                                                         style="width:500px; font-weight:bold; " />
                                                        </p:column>
                                                    </p:row>

                                                    <p:row>
                                                        <p:column>
                                                            <h:outputText value="E-Mail:" />
                                                        </p:column>
                                                        <p:column colspan="3">
                                                            <p:inputText id="inEMailContato" value="#{clienteBean.selectedClienteTelefoneContato.emailContato}" 
                                                                         style="width:500px; font-weight:bold;" />
                                                        </p:column>
                                                    </p:row>

                                                    <p:row>
                                                        <p:column>
                                                            <h:outputText value="Telefone:" />
                                                        </p:column>
                                                        <p:column>
                                                            <p:inputText id="inTelefoneContato" value="#{clienteBean.selectedClienteTelefoneContato.numTelefone}" 
                                                                         style="width:300px; font-weight:bold; " />
                                                        </p:column>

                                                        <p:column>
                                                            <h:outputText value="Ramal:" />
                                                        </p:column>
                                                        <p:column>
                                                            <p:inputText id="inTelefoneRamalContato" value="#{clienteBean.selectedClienteTelefoneContato.numRamal}" 
                                                                         style="width:100px; font-weight:bold; " />
                                                        </p:column>
                                                    </p:row>

                                                    <p:row>
                                                        <p:column>
                                                            <h:outputText value="* Departamento:" />
                                                        </p:column>
                                                        <p:column colspan="3">
                                                            <p:inputText id="inDepartamento" value="#{clienteBean.selectedClienteTelefoneContato.idDepartamento.dscDepartamento}" 
                                                                         readonly="true" style="width:500px; font-weight:bold; " />
                                                            <p:commandButton icon="ui-icon ui-icon-search" title="Pesquisar Departamento" onclick="PF('departamentoDialog').show();"
                                                                             update=":frmCliente:panelSelecionaDepartamento :frmCliente:messages" rendered="#{sessionScope.usuarioAutenticado.tipUsuario eq 'Administrador'}" />
                                                        </p:column>
                                                    </p:row>
                                                </p:panelGrid>
                                                <div style="text-align: left;">
                                                    <p:commandButton value="Inserir Contato" update=":frmCliente:accordion :frmCliente:messages" 
                                                                     actionListener="#{clienteBean.inserirTelefoneContato}" rendered="#{(clienteBean.incluircontato) and (sessionScope.usuarioAutenticado.tipUsuario eq 'Administrador')}" />

                                                    <p:commandButton value="Alterar Contato" update=":frmCliente:accordion :frmCliente:messages" 
                                                                     actionListener="#{clienteBean.alterarTelefoneContato}" rendered="#{(!clienteBean.incluircontato) and (sessionScope.usuarioAutenticado.tipUsuario eq 'Administrador')}" />
                                                </div>


                                            </p:panel>
                                        </p:tab>
                                    </p:accordionPanel>

                                </p:panel>
                            </p:tab>
                            <p:tab id="tabEmpreendimento" title="Empreendimentos">
                                <p:dataTable id="tabClienteEmpreendimento" widgetVar="wtabClienteEmpreendimento" var="clienteEmpreendimento" value="#{clienteBean.selectedCliente.clienteEmpreendimentoList}" 
                                             paginator="true" rows="2" paginatorPosition="top" rowIndexVar="rowIdClienteEmpreendimento"
                                             emptyMessage="Nenhum Registro Retornado ..." filterEvent="enter">

                                    <p:column headerText="Pessoa" sortBy="#{clienteEmpreendimento.tipEmpreendimento}" filterBy="#{clienteEmpreendimento.tipEmpreendimento}"  
                                              filterOptions="#{clienteBean.tipClienteOptions}" filterMatchMode="exact">
                                        <div style="text-align: left; ">
                                            <h:outputText value="#{clienteEmpreendimento.dscTipo}" />
                                        </div>
                                    </p:column>

                                    <p:column headerText="C.N.P.J. / C.P.F." sortBy="#{clienteEmpreendimento.numCpfEmpreendimento}" filterBy="#{clienteEmpreendimento.numCpfEmpreendimento}" style="text-align: center;">
                                        <div style="text-align: left;">
                                            <h:outputText id="cnpfEmpreendimento" value="#{clienteEmpreendimento.numCpfEmpreendimento}" />
                                        </div>
                                    </p:column>

                                    <p:column headerText="Razão Social/Nome Empreendimento" sortBy="#{clienteEmpreendimento.dscRazNome}" filterBy="#{clienteEmpreendimento.dscRazNome}">
                                        <div style="text-align: left; ">
                                            <h:outputText value="#{clienteEmpreendimento.dscRazNome}" />
                                        </div>
                                    </p:column>

                                    <p:column headerText="Descrição" sortBy="#{clienteEmpreendimento.dscEmpreendimento}" filterBy="#{clienteEmpreendimento.dscEmpreendimento}">
                                        <div style="text-align: left; ">
                                            <h:outputText value="#{clienteEmpreendimento.dscEmpreendimento}" />
                                        </div>
                                    </p:column>

                                    <p:column headerText="Tipo" sortBy="#{clienteEmpreendimento.staEmpreendimento}" filterBy="#{clienteEmpreendimento.staEmpreendimento}"  
                                              filterOptions="#{clienteBean.staEmpreendimentoOptions}" filterMatchMode="exact">
                                        <div style="text-align: left; ">
                                            <h:outputText value="#{clienteEmpreendimento.dscStaEmpreendimento}" />
                                        </div>
                                    </p:column>

                                    <p:column style="width: 100px;">
                                        <p:panelGrid columns="4" styleClass="actions">
                                            <p:commandButton id="selectButtonClienteEmpreendimento" update=":frmCliente:accordion :frmCliente:messages"
                                                             icon="ui-icon-search" title="Visualizar // Alterar Empreendimento">
                                                <f:setPropertyActionListener value="#{clienteEmpreendimento}" target="#{clienteBean.selectedEmpreendimento}" />
                                                <f:setPropertyActionListener value="#{rowIdClienteEmpreendimento}" target="#{clienteBean.rowidclienteempreendimento}" />
                                                <f:setPropertyActionListener value="#{false}" target="#{clienteBean.incluirClienteEmpreendimento}" />
                                                <f:setPropertyActionListener value="#{true}" target="#{clienteBean.incluirEnderecoEmpreendimento}" />
                                            </p:commandButton>

                                            <p:commandButton id="excluirButtonClienteEmpreendimento" update=":frmCliente:confirmationClienteEmpreendimento :frmCliente:messages" rendered="#{sessionScope.usuarioAutenticado.tipUsuario eq 'Administrador'}" 
                                                             icon="ui-icon-trash" title="Excluir Empreendimento do Cliente" oncomplete="PF('confirmationClienteEmpreendimento').show()">
                                                <f:setPropertyActionListener value="#{clienteEmpreendimento}" target="#{clienteBean.selectedEmpreendimento}" />
                                                <f:setPropertyActionListener value="#{rowIdClienteEmpreendimento}" target="#{clienteBean.rowidclienteempreendimento}" />
                                            </p:commandButton>
                                        </p:panelGrid>
                                    </p:column>

                                    <f:facet name="footer">
                                        <div style="text-align: left;">
                                            <p:commandButton id="incluirButtonClienteEmpreendimento" value="Novo Empreendimento do Cliente" 
                                                             actionListener="#{clienteBean.preparaInserirClienteEmpreendimento}" rendered="#{sessionScope.usuarioAutenticado.tipUsuario eq 'Administrador'}" 
                                                             update=":frmCliente:accordion :frmCliente:messages"
                                                             icon="ui-icon-pencil" title="Cadastrar Novo Empreendimento do Cliente" />
                                        </div>
                                    </f:facet>
                                </p:dataTable>

                                <p:tabView id="accordionEmpreendimento"  widgetVar="accordionEmpreendimento" activeIndex="0" style="width: 100%;" effect="scale">
                                    <p:tab id="tabEmpreendimentoPrincipal" title="Empreendimentos">
                                        <p:panelGrid id="displayClienteEmpreendimento" style="width: 100%;">
                                            <p:row>
                                                <p:column>
                                                    <h:outputText value="* Pessoa:" />
                                                </p:column>
                                                <p:column>
                                                    <p:selectOneRadio id="tipClienteEmpreendimento" value="#{clienteBean.selectedEmpreendimento.tipEmpreendimento}">
                                                        <f:selectItem itemLabel=" - Jurídica" itemValue="J" />
                                                        <f:selectItem itemLabel=" - Física" itemValue="F" />
                                                        <f:ajax event="change" render="displayClienteEmpreendimento"/>
                                                    </p:selectOneRadio>
                                                </p:column>
                                            </p:row>

                                            <p:row>
                                                <p:column>
                                                    <h:outputText value="C.N.P.J. / C.P.F.:" />
                                                </p:column>
                                                <p:column>
                                                    <p:inputMask id="inCpfClienteEmpreendimento"   
                                                                 mask="#{clienteBean.selectedEmpreendimento.tipEmpreendimento == 'F' ? '999.999.999-99' : '99.999.999/9999-99'}"  
                                                                 value="#{clienteBean.selectedEmpreendimento.numCpfEmpreendimento}"  
                                                                 style="width:200px; font-weight:bold; " />
                                                </p:column>
                                            </p:row>

                                            <p:row>
                                                <p:column>
                                                    <h:outputText value="Razão Social/Nome:" />
                                                </p:column>
                                                <p:column>
                                                    <p:inputText id="inDescricaoClienteEmpreendimentoRazao" value="#{clienteBean.selectedEmpreendimento.dscRazNome}" maxlength="100" style="width:600px; font-weight:bold; " />
                                                </p:column>
                                            </p:row>

                                            <p:row>
                                                <p:column>
                                                    <h:outputText value="Descrição:" />
                                                </p:column>
                                                <p:column>
                                                    <p:inputText id="inDescricaoClienteEmpreendimento" value="#{clienteBean.selectedEmpreendimento.dscEmpreendimento}" maxlength="100" style="width:600px; font-weight:bold; " />
                                                </p:column>
                                            </p:row>

                                            <p:row>
                                                <p:column>
                                                    <h:outputText value="Arquiteto Responsavel:" />
                                                </p:column>
                                                <p:column>
                                                    <p:inputText id="inArquitetoClienteEmpreendimento" value="#{clienteBean.selectedEmpreendimento.nomArquiteto}" maxlength="100" style="width:600px; font-weight:bold; " />
                                                </p:column>
                                            </p:row>

                                            <p:row>
                                                <p:column>
                                                    <h:outputText value="* Tipo:" />
                                                </p:column>
                                                <p:column>
                                                    <p:selectOneRadio id="staEmpreendimento" value="#{clienteBean.selectedEmpreendimento.staEmpreendimento}">
                                                        <f:selectItem itemLabel=" - Ativo" itemValue="A" />
                                                        <f:selectItem itemLabel=" - Prospects" itemValue="P" />
                                                        <f:selectItem itemLabel=" - Inativo" itemValue="I" />
                                                    </p:selectOneRadio>
                                                </p:column>
                                            </p:row>

                                            <p:row>
                                                <p:column>
                                                    <h:outputText value="* Centro de Controle:" />
                                                </p:column>
                                                <p:column colspan="3">
                                                    <p:inputText readonly="true" id="inCusto" value="#{clienteBean.selectedEmpreendimento.idCusto.dscCusto}" style="width:600px; font-weight:bold;" />
                                                    <!--         <p:commandButton icon="ui-icon ui-icon-search" title="Pesquisar Centro de Controle" onclick="custoDialog.show()" /> -->
                                                </p:column>
                                            </p:row>

                                        </p:panelGrid>
                                    </p:tab>
                                    <p:tab id="tabEmpreendimentoEndereco" title="Endereços">
                                        <p:panelGrid id="displayClienteEmpreendimentoEndereco" style="width: 100%;">
                                            <p:row>
                                                <p:column colspan="4">
                                                    <p:panel id="panelEnderecoEmpreendimento">
                                                        <p:dataTable id="empreendimentoEnderecoTable" var="empreendimentoEndereco" value="#{clienteBean.selectedEmpreendimento.empreendimentoEnderecoList}" 
                                                                     rowIndexVar="rowIdEndereco"  paginator="true" rows="1" paginatorPosition="top" lazy="true" emptyMessage="Nenhum Registro Retornado ..." filterEvent="enter">

                                                            <p:column style="width:400px; text-align: left; " sortBy="#{empreendimentoEndereco.codLogradouro.dscLogradouro}">
                                                                <f:facet name="header">
                                                                    <div style="text-align: center">Endereço</div>
                                                                </f:facet>
                                                                <h:outputText value="#{empreendimentoEndereco.codLogradouro.dscLogradouro}" />
                                                            </p:column>

                                                            <p:column style="width:400px; text-align: left; " sortBy="#{empreendimentoEndereco.numContribuinte}">
                                                                <f:facet name="header">
                                                                    <div style="text-align: center">No.Contribuinte</div>
                                                                </f:facet>
                                                                <h:outputText value="#{empreendimentoEndereco.numContribuinte}" />
                                                            </p:column>

                                                            <p:column style="width:100px;">
                                                                <h:panelGrid columns="3" styleClass="actions" cellpadding="2">
                                                                    <p:commandButton id="selectButtonEndereco" update=":frmCliente:accordion :frmCliente:messages" 
                                                                                     icon="ui-icon-search" title="Visualizar // Editar Endereço">
                                                                        <f:setPropertyActionListener value="#{empreendimentoEndereco}" target="#{clienteBean.selectedEmpreendimentoEndereco}" />
                                                                        <f:setPropertyActionListener value="#{false}" target="#{clienteBean.incluirEnderecoEmpreendimento}" />
                                                                        <f:setPropertyActionListener value="#{rowIdEndereco}" target="#{clienteBean.rowidEndereco}" />
                                                                        <f:setPropertyActionListener value="#{1}" target="#{clienteBean.nendereco}" />
                                                                    </p:commandButton>

                                                                    <p:commandButton id="excluirButtonEmpreendimentoEndereco" rendered="#{sessionScope.usuarioAutenticado.tipUsuario eq 'Administrador'}"
                                                                                     icon="ui-icon-trash" title="Excluir Endereço" oncomplete="PF('confirmationEnderecoEmpreendimento').show()">
                                                                        <f:setPropertyActionListener value="#{empreendimentoEndereco}" target="#{clienteBean.selectedEmpreendimentoEndereco}" />
                                                                        <f:setPropertyActionListener value="#{rowIdEndereco}" target="#{clienteBean.rowidEndereco}" />
                                                                    </p:commandButton>
                                                                </h:panelGrid>
                                                            </p:column>

                                                            <f:facet name="footer">
                                                                <div style="text-align: left;">
                                                                    <p:commandButton id="incluirButtonEmpreendimentoEndereco" actionListener="#{clienteBean.preparaInserirEnderecoEmpreendimento}" 
                                                                                     update=":frmCliente:accordion :frmCliente:messages" rendered="#{sessionScope.usuarioAutenticado.tipUsuario eq 'Administrador'}"
                                                                                     icon="ui-icon-pencil" title="Cadastrar Novo Endereço" value="Novo Endereço" />
                                                                </div>
                                                            </f:facet>
                                                        </p:dataTable>
                                                        <br />
                                                        <p:panelGrid id="displayEnderecoEmpreendimento" style="width: 100%">
                                                            <p:row>
                                                                <p:column>
                                                                    <h:outputText value="* C.E.P.:" />
                                                                </p:column>
                                                                <p:column colspan="3">
                                                                    <p:inputMask id="inCepEmpreendimento" value="#{clienteBean.selectedEmpreendimentoEndereco.codLogradouro.numCep}"  
                                                                                 mask="99999-999" readonly="true" style="width:200px; font-weight:bold;" />
                                                                    <p:commandButton icon="ui-icon ui-icon-search" title="Pesquisar Endereço" onclick="PF('pesquisaDialog').show()" rendered="#{sessionScope.usuarioAutenticado.tipUsuario eq 'Administrador'}" /> 
                                                                </p:column>
                                                            </p:row>

                                                            <p:row>
                                                                <p:column>
                                                                    <h:outputText value="Logradouro:" />
                                                                </p:column>
                                                                <p:column colspan="3">
                                                                    <p:inputText id="inLogradouroEmpreendimento" value="#{clienteBean.selectedEmpreendimentoEndereco.codLogradouro.dscLogradouro}" 
                                                                                 readonly="true" style="width:500px; font-weight:bold; " />
                                                                </p:column>
                                                            </p:row>

                                                            <p:row>
                                                                <p:column>
                                                                    <h:outputText value="* Numero:" />
                                                                </p:column>
                                                                <p:column>
                                                                    <p:inputText id="inNumeroEmpreendimento" value="#{clienteBean.selectedEmpreendimentoEndereco.numEndereco}" maxlength="100" style="width:400px; font-weight:bold;" />
                                                                </p:column>

                                                                <p:column>
                                                                    <h:outputText value="Complemento:" />
                                                                </p:column>
                                                                <p:column>
                                                                    <p:inputText id="inComplementoEmpreendimento" value="#{clienteBean.selectedEmpreendimentoEndereco.dscComplemento}" 
                                                                                 style="width:400px; font-weight:bold; " maxlength="50" />
                                                                </p:column>
                                                            </p:row>

                                                            <p:row>
                                                                <p:column>
                                                                    <h:outputText value="Bairro:" />
                                                                </p:column>
                                                                <p:column colspan="3">
                                                                    <p:inputText id="inBairroEmpreendimento" value="#{clienteBean.selectedEmpreendimentoEndereco.codLogradouro.codBairro.dscBairro}" 
                                                                                 readonly="true" style="width:400px; font-weight:bold; " />
                                                                </p:column>
                                                            </p:row>

                                                            <p:row>
                                                                <p:column>
                                                                    <h:outputText value="Cidade:" />
                                                                </p:column>
                                                                <p:column>
                                                                    <p:inputText id="inCidadeEmpreendimento" value="#{clienteBean.selectedEmpreendimentoEndereco.codLogradouro.codBairro.codCidade.dscCidade}" 
                                                                                 readonly="true" style="width:300px; font-weight:bold; " />
                                                                </p:column>
                                                                <p:column>
                                                                    <h:outputText value="U.F." />
                                                                </p:column>
                                                                <p:column>
                                                                    <p:inputText id="inUfEmpreendimento" value="#{clienteBean.selectedEmpreendimentoEndereco.codLogradouro.codBairro.codCidade.codUf.codUf}" 
                                                                                 readonly="true" style="width:50px; font-weight:bold; " />
                                                                </p:column>
                                                            </p:row>

                                                            <p:row>
                                                                <p:column>
                                                                    <h:outputText value="* No. Contribuinte:" />
                                                                </p:column>
                                                                <p:column colspan="3">
                                                                    <p:inputMask mask="999.999.9999-9" id="inContribuinte" value="#{clienteBean.selectedEmpreendimentoEndereco.numContribuinte}" maxlength="50"  style="font-weight:bold; " />
                                                                </p:column>
                                                            </p:row>
                                                        </p:panelGrid>
                                                        <div style="text-align: left;">
                                                            <p:commandButton icon="ui-icon-pencil" value="Inserir Endereço" update=":frmCliente:accordion :frmCliente:messages"
                                                                             actionListener="#{clienteBean.inserirEnderecoEmpreendimento}" rendered="#{(clienteBean.incluirEnderecoEmpreendimento) and (sessionScope.usuarioAutenticado.tipUsuario eq 'Administrador')}" />
                                                            <p:commandButton icon="ui-icon-document" value="Alterar Endereço" update=":frmCliente:accordion :frmCliente:messages"
                                                                             actionListener="#{clienteBean.alterarEnderecoEmpreendimento}" rendered="#{(!clienteBean.incluirEnderecoEmpreendimento) and (sessionScope.usuarioAutenticado.tipUsuario eq 'Administrador')}" />
                                                        </div>
                                                    </p:panel>
                                                </p:column>
                                            </p:row>
                                        </p:panelGrid>
                                    </p:tab>
                                </p:tabView>
                                <br />
                                <div style="text-align: left;">
                                    <p:commandButton icon="ui-icon-pencil" value="Inserir Empreendimento do Cliente" update=":frmCliente:accordion :frmCliente:messages"
                                                     actionListener="#{clienteBean.inserirClienteEmpreendimento}" rendered="#{(clienteBean.incluirClienteEmpreendimento) and (sessionScope.usuarioAutenticado.tipUsuario eq 'Administrador')}" />
                                    <p:commandButton icon="ui-icon-document" value="Alterar Empreendimento do Cliente" update=":frmCliente:accordion :frmCliente:messages"
                                                     actionListener="#{clienteBean.alterarClienteEmpreendimento}" rendered="#{(!clienteBean.incluirClienteEmpreendimento) and (sessionScope.usuarioAutenticado.tipUsuario eq 'Administrador')}" />
                                </div>
                            </p:tab>
                            <p:tab id="tabObservacao" title="Observações">
                                <p:inputTextarea id="inObs" rows="15" value="#{clienteBean.selectedCliente.dscObs}" style="width:100%; font-weight:bold; " /> 
                            </p:tab>
                            <p:tab id="tabHistorico" title="Histórico">
                                <p:inputTextarea id="inHistorico" rows="15" readonly="true" value="#{clienteBean.selectedCliente.dscHistorico}" style="width:100%; font-weight:bold; " /> 
                            </p:tab>
                        </p:tabView>
                        <br />
                        <p:commandButton icon="ui-icon-disk"  value="Salvar Cliente" oncomplete="handleClienteRequest(xhr, status, args)"
                                         actionListener="#{clienteBean.inserir}" update=":frmCliente:panelDetalheCliente" rendered="#{(clienteBean.incluircliente) and (sessionScope.usuarioAutenticado.tipUsuario eq 'Administrador')}" />
                        <p:commandButton icon="ui-icon-disk"  value="Salvar Cliente" update=":frmCliente:panelDetalheCliente" oncomplete="handleClienteRequest(xhr, status, args)"
                                         actionListener="#{clienteBean.alterar}" rendered="#{(!clienteBean.incluircliente) and (sessionScope.usuarioAutenticado.tipUsuario eq 'Administrador')}" />
                        <p:commandButton icon="ui-icon-closethick" value="Fechar" onclick="PF('clienteDialog').hide();" title="Fecha Janela dos Clientes!" />

                    </p:panel>
                </p:dialog>
                <!-- PESQUISA CATEGORIA -->
                <p:dialog id="dialogCategoria" header="Pesquisa Categoria" widgetVar="categoriaDialog" resizable="true"
                          width="600" showEffect="explode" hideEffect="explode" position="right,top">
                    <p:panel id="panelCategoria" style="text-align: left; ">
                        <p:dataTable id="tabCategoriaPesq" widgetVar="wtabCategoria" var="categoria" value="#{categoriaBean.lazyModel}" 
                                     paginator="true" rows="5" lazy="true" emptyMessage="Nenhuma Categoria retornada ..." filterEvent="enter">

                            <f:facet name="header">
                                Pesquise e selecione uma Categoria
                            </f:facet>

                            <p:column headerText="Descrição" sortBy="#{categoria.dscCategoria}" filterBy="#{categoria.dscCategoria}">
                                <h:outputText value="#{categoria.dscCategoria}" />
                            </p:column>

                            <p:column style="width: 50px;">
                                <p:panelGrid styleClass="actions" columns="1">
                                    <p:commandButton id="selectButtonCategoria" update=":frmCliente:panelDetalheCliente :frmCliente:messages" 
                                                     icon="ui-icon-check" title="Selecionar Categoria" oncomplete="PF('categoriaDialog').hide();">
                                        <f:setPropertyActionListener value="#{categoria}" target="#{clienteBean.categoria}" />
                                    </p:commandButton>
                                </p:panelGrid>
                            </p:column>
                        </p:dataTable>
                    </p:panel>
                </p:dialog>
                <!-- CONFIRMA EXCLUSAO CLIENTE -->
                <p:dialog id="confirmaExclusao" header="Confirma a Exclusão desse Cliente: #{clienteBean.selectedCliente.nomCliente}?" widgetVar="confirmation">  

                    <p:commandButton value="Sim" update=":frmCliente:panel :frmCliente:messages" process="@all"
                                     oncomplete="PF('confirmation').hide();, PF('clienteDialog').hide();" actionListener="#{clienteBean.excluir}" />  
                    <p:commandButton value="Não" onclick="PF('confirmation').hide();" type="button" />   

                </p:dialog>
                <!-- CONFIRMA EXCLUSAO EMPREENDIMENTO -->
                <p:dialog id="confirmationClienteEmpreendimento" header="Confirma a Exclusão do Cliente: #{clienteBean.selectedCliente.nomCliente}?" widgetVar="confirmationClienteEmpreendimento">  

                    <p:commandButton value="Sim" update=":frmCliente:accordion :frmCliente:messages" 
                                     oncomplete="PF('confirmationClienteEmpreendimento').hide();" actionListener="#{clienteBean.excluirClienteEmpreendimento}" />  
                    <p:commandButton value="Não" onclick="PF('confirmationClienteEmpreendimento').hide();" type="button" />   

                </p:dialog>
                <!-- CONFIRMA EXCLUSAO ENDERECO CLIENTE -->
                <p:dialog header="Confirma a Exclusão desse Endereço?"  widgetVar="confirmationEndereco">  

                    <p:commandButton value="Sim" update=":frmCliente:accordion :frmCliente:messages"  
                                     oncomplete="PF('confirmationEndereco').hide();" actionListener="#{clienteBean.excluirEndereco}" />  
                    <p:commandButton value="Não" onclick="PF('confirmationEndereco').hide();" type="button" />   

                </p:dialog>
                <!-- CONFIRMA EXCLUSAO TELEFONE -->
                <p:dialog header="Confirma a Exclusão desse Telefone: #{clienteBean.selectedClienteEnderecoTelefone.dscTelefone}?" widgetVar="confirmationEnderecoTelefone">  

                    <p:commandButton value="Sim" update=":frmCliente:accordion :frmCliente:messages" 
                                     oncomplete="PF('confirmationEnderecoTelefone').hide();" actionListener="#{clienteBean.excluirEnderecoTelefone}" />  
                    <p:commandButton value="Não" onclick="PF('confirmationEnderecoTelefone').hide();" type="button" />   

                </p:dialog>
                <!-- CONFIRMA EXCLUSAO TELEFONE CONTATO -->
                <p:dialog header="Confirma a Exclusão desse Contato: #{clienteBean.selectedClienteTelefoneContato.nomContato}?" widgetVar="confirmationTelefoneContato">  

                    <p:commandButton value="Sim" update=":frmCliente:accordion :frmCliente:messages" 
                                     oncomplete="PF('confirmationTelefoneContato').hide();" actionListener="#{clienteBean.excluirTelefoneContato}" />  
                    <p:commandButton value="Não" onclick="PF('confirmationTelefoneContato').hide();" type="button" />   

                </p:dialog>
                <!-- DEFINICAO PESQUISA ENDERECO -->
                <p:dialog id="dialogPesquisa" header="Pesquisa dos Logradouros" widgetVar="pesquisaDialog" resizable="true" dynamic="true"
                          width="600" showEffect="explode" hideEffect="explode" onHide="javascript:AbreJanela(false);" position="right,top">
                    <p:panel id="panelPesqEndereco" style="text-align: left; ">
                        <div id="conexao" name="conexao" style="visibility:hidden" align="center">
                            <p:fieldset legend="Aguarde ..." style="text-align: left">
                                <img src="../design/ajaxloading.gif" />
                            </p:fieldset>
                        </div>
                        <p:panelGrid id="displayPesquisa" columns="2">
                            <h:outputText value="" />
                            <p:messages />

                            <h:outputText value="C.E.P.:" />
                            <p:inputMask mask="99999-999" id="numeroCep" value="#{enderecoBean.numeroCep}" style="width:100px; font-weight:bold;" onfocus="javascript:AbreJanela(false);">
                                <p:ajax event="blur" process="@this"/>
                            </p:inputMask>

                            <h:outputText value="Descrição:" />
                            <p:inputText id="descLogradouro" value="#{enderecoBean.descLogradouro}" style="width:400px; font-weight:bold; " onfocus="javascript:AbreJanela(false);">
                                <p:ajax event="blur" process="@this"/>
                            </p:inputText>

                            <h:outputText value="Bairro:" />
                            <p:inputText id="descBairro" value="#{enderecoBean.descBairro}" style="width:400px; font-weight:bold; " onfocus="javascript:AbreJanela(false);">
                                <p:ajax event="blur" process="@this"/>
                            </p:inputText>

                            <h:outputText value="Cidade:" />
                            <p:inputText id="descCidade" value="#{enderecoBean.descCidade}" style="width:400px; font-weight:bold; " onfocus="javascript:AbreJanela(false);">
                                <p:ajax event="blur" process="@this"/>
                            </p:inputText>

                            <h:outputText value="U.F.:" />
                            <p:inputText id="descUf" value="#{enderecoBean.descUf}" style="width:50px; font-weight:bold; " onfocus="javascript:AbreJanela(false);">
                                <p:ajax event="blur" process="@this" />
                            </p:inputText>
                        </p:panelGrid>
                        <br />
                        <p:commandButton id="pesqEndereco" icon="ui-icon ui-icon-search" value="Pesquisar" actionListener="#{enderecoBean.PesquisarEndereco}"
                                         oncomplete="PF('pesquisaDialog').hide(), PF('cepDialog').show();" update=":frmCliente:panelSelecionaEndereco :frmCliente:messages" 
                                         process="@this" onclick="javascript:AbreJanela(true);" />
                    </p:panel>
                </p:dialog>
                <!-- GRID PESQUISA ENDERECO -->
                <p:dialog id="cepDialog" header="Pesquisa Logradouro" widgetVar="cepDialog" resizable="true" dynamic="true"
                          showEffect="explode" hideEffect="explode" position="right,top">

                    <p:panel id="panelSelecionaEndereco" style="text-align: left; ">
                        <p:dataTable id="tabEndereco" widgetVar="tabEndereco" var="endereco" value="#{enderecoBean.lazyModelEndereco}"
                                     paginator="true" rows="5" lazy="true" emptyMessage="Nenhum Endereço Retornado ..." filterEvent="enter">

                            <p:column headerText="C.E.P." sortBy="#{endereco.numCep}" style="width:50px !important;">
                                <h:outputText value="#{endereco.numCep}" />
                            </p:column>

                            <p:column headerText="Descrição" sortBy="#{endereco.dscLogradouro}" style="width:300px !important; ">
                                <h:outputText value="#{endereco.dscLogradouro}" />
                            </p:column>

                            <p:column headerText="Bairro" sortBy="#{endereco.codBairro.dscBairro}" style="width:300px !important; ">
                                <h:outputText value="#{endereco.codBairro.dscBairro}" />
                            </p:column>

                            <p:column headerText="Cidade" sortBy="#{endereco.codBairro.codCidade.dscCidade}" style="width:300px !important; ">
                                <h:outputText value="#{endereco.codBairro.codCidade.dscCidade}" />
                            </p:column>

                            <p:column headerText="U.F." sortBy="#{endereco.codBairro.codCidade.codUf.codUf}" style="width:50px !important; ">
                                <h:outputText value="#{endereco.codBairro.codCidade.codUf.codUf}" />
                            </p:column>

                            <p:column style="width: 50px;">
                                <p:panelGrid styleClass="actions" columns="1">
                                    <p:commandButton id="selectButtonEndereco"  
                                                     icon="ui-icon-check" title="Selecionar Endereço" oncomplete="PF('cepDialog').hide();">
                                        <f:setPropertyActionListener value="#{endereco}" target="#{clienteBean.cepEndereco}" />
                                    </p:commandButton>
                                </p:panelGrid>
                            </p:column>
                        </p:dataTable>
                    </p:panel>
                </p:dialog>
                <!-- PESQUISA D.D.I. -->
                <p:dialog id="ddiDialog" header="Pesquisa D.D.I." widgetVar="ddiDialog" resizable="true" dynamic="true"
                          width="800" showEffect="explode" hideEffect="explode" position="right,top">

                    <p:panel id="panelSelecionaDdi" style="text-align: left; ">

                        <p:dataTable id="tabDdi" widgetVar="wtabDdi" var="codigoDdi" value="#{codigoDdiBean.lazyModel}" filterEvent="enter" 
                                     paginatorPosition="top" paginator="true" rows="5" lazy="true" emptyMessage="Nenhum Endereço Retornado ...">

                            <p:column headerText="D.D.I." sortBy="#{codigoDdi.ddi}" filterBy="#{codigoDdi.ddi}">
                                <h:outputText value="#{codigoDdi.ddi}" />
                            </p:column>

                            <p:column headerText="Descrição" sortBy="#{codigoDdi.descricao}" filterBy="#{codigoDdi.descricao}">
                                <h:outputText value="#{codigoDdi.descricao}" />
                            </p:column>

                            <p:column style="width: 50px;">
                                <p:panelGrid styleClass="actions" columns="1">
                                    <p:commandButton id="selectButtonDdi" update=":frmCliente:accordion :frmCliente:messages" 
                                                     icon="ui-icon-check" title="Selecionar D.D.I." oncomplete="PF('ddiDialog').hide();">
                                        <f:setPropertyActionListener value="#{codigoDdi}" target="#{clienteBean.ddi}" />
                                    </p:commandButton>
                                </p:panelGrid>
                            </p:column>
                        </p:dataTable>
                    </p:panel>
                </p:dialog>
                <!-- PESQUISA D.D.D. -->
                <p:dialog id="dddDialog" header="Pesquisa D.D.D." widgetVar="dddDialog" resizable="true" dynamic="true"
                          width="800" showEffect="explode" hideEffect="explode" position="right,top">

                    <p:panel id="panelSelecionaDdd" style="text-align: left; ">

                        <p:dataTable id="tabDdd" widgetVar="wtabDdd" var="codigoDdd" value="#{codigoDddBean.lazyModel}" filterEvent="enter" 
                                     paginatorPosition="top" paginator="true" rows="5" lazy="true" emptyMessage="Nenhum Endereço Retornado ...">

                            <p:column headerText="D.D.D." sortBy="#{codigoDdd.codigo}" filterBy="#{codigoDdd.codigo}">
                                <h:outputText value="#{codigoDdd.codigo}" />
                            </p:column>

                            <p:column headerText="Descrição" sortBy="#{codigoDdd.localidade}" filterBy="#{codigoDdd.localidade}">
                                <h:outputText value="#{codigoDdd.localidade}" />
                            </p:column>

                            <p:column style="width: 50px;">
                                <p:panelGrid styleClass="actions" columns="1">
                                    <p:commandButton id="selectButtonDdd" update=":frmCliente:accordion :frmCliente:messages" 
                                                     icon="ui-icon-check" title="Selecionar D.D.D." oncomplete="PF('dddDialog').hide();">
                                        <f:setPropertyActionListener value="#{codigoDdd}" target="#{clienteBean.ddd}" />
                                    </p:commandButton>
                                </p:panelGrid>
                            </p:column>
                        </p:dataTable>
                    </p:panel>
                </p:dialog>
                <!-- PESQUISA DEPARTAMENTO -->
                <p:dialog id="departamentoDialog" header="Pesquisa Departamento" widgetVar="departamentoDialog" resizable="true" dynamic="true"
                          width="800" showEffect="explode" hideEffect="explode" position="right,top">

                    <p:panel id="panelSelecionaDepartamento" style="text-align: left; ">

                        <p:dataTable id="tabDepartamento" widgetVar="wtabDepartamento" var="departamento" value="#{departamentoBean.lazyModel}" 
                                     paginatorPosition="top" paginator="true" rows="5" lazy="true" emptyMessage="Nenhum Endereço Retornado ..." filterEvent="enter">

                            <p:column headerText="Descrição" sortBy="#{departamento.dscDepartamento}" filterBy="#{departamento.dscDepartamento}">
                                <h:outputText value="#{departamento.dscDepartamento}" />
                            </p:column>

                            <p:column style="width: 50px;">
                                <p:panelGrid styleClass="actions" columns="1">
                                    <p:commandButton id="selectButtonDepartamento" update=":frmCliente:accordion :frmCliente:messages" 
                                                     icon="ui-icon-check" title="Selecionar Departamento" oncomplete="PF('departamentoDialog').hide();">
                                        <f:setPropertyActionListener value="#{departamento}" target="#{clienteBean.departamento}" />
                                    </p:commandButton>
                                </p:panelGrid>
                            </p:column>
                        </p:dataTable>
                    </p:panel>
                </p:dialog>
                <!-- CONFIRMA EXCLUSAO ENDERECO EMPREENDIEMENTO -->
                <p:dialog id="confirmaExclusaoEnderecoEmpreendimento" header="Confirma a Exclusão desse Endereco: #{clienteBean.selectedEmpreendimentoEndereco.codLogradouro.dscLogradouro}?" widgetVar="confirmationEnderecoEmpreendimento">  

                    <p:commandButton value="Sim" update=":frmCliente:accordion :frmCliente:messages"
                                     oncomplete="PF('confirmationEnderecoEmpreendimento').hide();" actionListener="#{clienteBean.excluirEnderecoEmpreendimento}" />  
                    <p:commandButton value="Não" onclick="PF('confirmationEnderecoEmpreendimento').hide();" type="button" />   

                </p:dialog>
                
            </p:panel>
        </h:form>
    </ui:define>

</ui:composition>